其他
打通Python学习的任督二脉
点击上方“Ahab杂货铺”,选择“置顶公众号”
技术分享第一时间送达!
写在前面
Python的基础知识已经在上周全部更新完成,今天对之前的文章做一个汇总方便大家的查看【多图!加了好多思维导图】同时对有遗漏的知识点也已经做了补充,当然这一部分直接将自己的学习笔记给贴上了,文末加了四篇实战练习和一篇BAT面试题分享。今天更新的次条对LeetCode的1--20题做了汇总,发起了大家一起刷题的活动,后续刷题将不按顺序而是按照具体的知识点。
Python入门知识篇
这一部分你将了解python语言是什么?python语言的特点。
这一部分你将学习到python语言的循环语句。
在这里你可以掌握python的列表元组的相关操作。
这里介绍了python字典和字符串的操作。
在这里你将学到python函数如何定义,如何调用等相关操作。
Python面向对象篇
Python面向对象之继承(02)
Python面向对象之多态(03)
Python面向对象之封装(04)
Python文件操作
1#文件操作
2"""
3计算机的文件就是储存在某种长期存储设备上的一致数据
4文件是以二进制的方式来保存
5
6打开文件 open 函数 打开文件 并且返回文件操作对象
7读写文件
8 读 将文件内容读入内存 read 方法
9 写 将内存内容写入文件 write 方法
10关闭文件 close 方法
11
12"""
13#read
14"""
15open 函数的第一个参数就是要打开的文件名 文件名区分大小写
16 如果文件存在 返回文件操作对象
17 如果文件不存在 会抛出异常
18read 方法可以一次性读入并返回 文件的所有内容
19close 负责关闭文件
20 如果忘记 关闭文件就会造成 系统资源消耗 并且会影响到后续对文件的访问
21 注意:方法执行后 会把文件指针 移动到 文件的末尾
22"""
23
24file=open("ahab.txt")
25text=file.read()
26print(text)
27file.close()
28
29#文件指针
30"""
31文件指针标记从哪个位置开始读取数据
32第一次打开文件时 通常文件指针会指向文件的开始位置
33当执行了 read 方法以后 文件指针 会移动到读取内容的末尾
34
35"""
36#打开文件的方式
37"""
38open 默认以只读方式 打开文件 并且返回文件对象
39f=open("文件名","访问方式")
40r 以只读方式 打开文件
41w 以只写方式 打开文件
42a 已追加方式
43r+ 以读写方式 文件的指针将会放在文件的开头 如果文件不存在抛出异常
44w+ 以读写方式 如果文件存在会被覆盖 如果文件不存在 创建新文件
45a+ 以读写方式 如果该文件已存在 文件指针会放在文件的结尾 如果文件不存在 会创建新文件进行写入
46
47频繁的移动文件时 会影响文件的读写效率 开发中更多的时候会以只读只写 的方式来操作文件
48"""
49
50file=open("ahab.txt","a+")
51file.write("hello ddd")
52file.close()
53
54#readline方法
55"""
56readline 方法可以一次读取一行内容
57方法执行以后 会把文件指针移动到下一行 准备再次读取数据
58"""
59'''
60file=open("ahab.txt")
61while True:
62 text=file.readline()
63 if not text:
64 break
65 print(text)
66
67file.close()
68'''
69
70# 复制文件
71""" 小文件"""
72
73file_read=open("ahab.txt")
74file_write=open("ahab2.txt","w")
75
76text=file_read.read()
77file_write.write(text)
78
79file_read.close()
80file_write.close()
81
82""" 大文件"""
83
84file_read=open("ahab.txt")
85file_write=open("ahab3.txt","w")
86
87while True:
88 text=file_read.readline()
89 #判断是否读取到内容
90 if not text:
91 break
92 file_write.write(text)
93
94file_read.close()
95file_write.close()
96
97
98#文件目录的常用管理操作
99"""
100文件操作
101rename 重命名 os.rename(源文件名,目标文件)
102remove 删除文件 os.remove(文件名)
103
104目录操作
105listdir 目标列表 os.listdir(目录名)
106mkdir 创建目录
107rmdir 删除目录
108getcwd 获取当前目录
109chdir 删除工作目录
110path.isdir 判断是否是文件
111
112文件或者目录操作都支持 相对路径 绝对路径
113
Python模块
1#模块
2"""
3每一个以扩展名 py 结尾的python源代码文件都是一个模块
4模块名同样是一个标识符 需要符合标识符的命名规则
5在模块中定义的全局变量 函数 类 都是提供给外界直接使用的工具
6模块就好比是工具包 要想使用工具包中的工具 就需要先导入这个模块
7
8如果模块的名字太长 就可以使用as 指定模块的名称 以方便在代码中使用
9
10如果希望从某一模块中导入部分工具的方式:
11from 模块名 import 某一个工具
12导入所有工具方式:
13from 模块名 import *
14
15如果两个模块存在同名的函数 那么后导入模块的函数 就会覆盖先导入的函数
16
Python错误&异常
1#异常
2"""
3程序停止执行并且提示错误信息这个动作,我们通常称之为 抛出异常
4
5"""
6 #捕获异常
7"""
8基本语法:
9try:
10 尝试执行的代码 不能确定是否能够正常执行的代码
11except:
12 出现的错误代码 下方编尝试失败的代码
13
14"""
15
16try:
17 num=int(input("请输入一个整数"))
18except:
19 print("输入正确整数")
20
21print("--"*50)
22
23 #根据错误类型捕获代码
24"""
25在程序执行时 可能会遇到不同类型的异常 并且需要针对不同类型的异常
26做出不同的响应 这个时候就需要捕获错误类型
27
28try:
29 尝试执行的代码
30 pass
31except 错误类型1:
32 针对错误类型1,对应的代码处理
33except(错误类型2,错误类型3):
34 针对错误类型2,错误类型3,对应的代码处理
35except Exception as result:
36 print(“未知错误%s”%result)
37
38"""
39
40try:
41 num=int(input("请输入一个整数"))
42 result=8/num
43 print(result)
44#except ZeroDivisionError:
45 # print("你整啥呢")
46except ValueError:
47 print("你疯了?")
48#捕获未知错误的固定语法
49except Exception as result:
50 print("未知错误%s"%result)
51
52
53 #捕获异常的完整语法
54
55try:
56 num=int(input("请输入一个整数"))
57 result=8/num
58 print(result)
59except ZeroDivisionError:
60 print("你整啥呢")
61except ValueError:
62 print("你疯了?")
63#捕获未知错误的固定语法
64except Exception as result:
65 print("未知错误%s"%result)
66else:
67 print("没有异常才会执行的代码")
68finally:
69 print("无论是否有异常都会被执行")
70
71 #异常的传递
72"""
73异常的传递 当函数/方法执行出现异常 会将异常传递给 函数/方法的调用一方
74如果传递到主程序 仍没有处理异常 程序才会被终止
75
76在开发中可以在主函数中增加 异常捕获
77而在主函数中调用的其他函数 只要出现异常 都会传递到主函数的异常捕获中
78这样就不需要在代码中增加大量的异常捕获 能够保证代码的整洁
79
80"""
81
82def demo1():
83 return int(input("请输入一个数字"))
84
85def demo2():
86 return demo1()
87#利用异常的传递性 在主程序中捕获异常
88try:
89 print(demo2())
90except ValueError:
91 print("请输入正确的整数")
92except Exception as result:
93 print("未知错误%s"%result)
94
95 #抛出raise异常 主动抛出异常
96"""
97创建 一个exception 的对象
98使用raise 关键字抛出异常对象
99"""
100
101def input_password():
102 num=input("请输入密码")
103 if len(num)>=8:
104 return num
105 print("主动抛出异常")
106 #创建异常对象 可以使用错误信息字符串作为参数
107 ex=Exception("密码长度不够")
108 #主动抛出异常
109 raise ex
110try:
111 print(input_password())
112except Exception as result:
113 print(result)
Python实战练习
BAT版Python面试题
文中的所有思维导图引自公众号「数林觅风」,作者博客:https://woaielf.github.io/
【推荐阅读】
欢迎您的点赞和分享
▲长按关注此公众号